"""
#题目：编写一个递归函数，计算一个正整数 n 的各位数字之和。
#示例：对于输入n = 1234，期望输出为10，因为 1 + 2 + 3 + 4 = 10。
#要求：使用递归实现函数，函数的输入 n 是一个正整数。
"""


class MyError(Exception):
    def __init__(self, msg):
        self.msg = msg

    def __str__(self):
        return self.msg


def calc_by_recursion(n: int) -> int:
    if n == 1:
        return 1
    elif n >= 2:
        return n + calc_by_recursion(n - 1)
    else:
        raise MyError('请输入正整数！')


if __name__ == '__main__':
    wait_calc = int(input('请输入待计算数：'))
    print(f'{wait_calc}的各项之和为: {calc_by_recursion(wait_calc)}')
    